var $pnlMenusUsuario;
var $menuRaizCorrente;
var $migalhaMenu;
var $pnlMenuAberto;
var $ulComApp;
var $liApp;
var $liSbm;
var $txtBuscaApp;
var $pnlAvisoBusca;
var textoBuscado = '';
$(document).ready(function (e) {
// Adicionar quebra entre os itens de submenu e itens de aplicação no menu.
$("#pnlMenusUsuario ul").each(function () {
$("
").insertAfter($(this).find('.sbm:last'));
})
$pnlMenusUsuario = $('#pnlMenusUsuario');
$pnlMenuAberto = $('div#pnlMenuAberto');
$ulComApp = $('div#pnlMenusUsuario *:has(li.app)');
$liApp = $('div#pnlMenusUsuario > * > li.app');
$liSbm = $('div#pnlMenusUsuario > * > li.sbm');
$txtBuscaApp = $('#txtBuscaApp');
$pnlAvisoBusca = $('#pnlAvisoBusca');
$linhasSeparadoras = $('#pnlMenusUsuario ul br');
$migalhaMenu = $('ul.migalhaMenu');
var $liAppArray = $(); // object instead of array
$.each($liApp, function (i, item) {
$liAppArray = $liAppArray.add(item);
});
/*
* AÇÃO: Clique no menu Raiz
* Cuida do comportamento do clique no menu raiz
*/
$("div#pnlMenuRaiz ul li").click(function () {
$liSbm.show();
$liApp.show();
if (typeof $(this).attr('rel') !== 'undefined' && $(this).attr('rel') !== false) {
if ($pnlMenuAberto.css('max-height') == "0px") {
//Seta current no ul dos menus do usuário com o id do rel clicado
exibeMenuCurrentUsuario($(this).attr("rel"));
//Seta current no li do menu raiz clicada
setaCurrentMenuRaiz($(this));
//Abre o painel de menu
abrePanelMenu();
} else {
if ($(this).hasClass("current")) {
setaCurrentMenuRaiz($(this), true);
fechaPanelMenu();
} else {
//as três linhas abaixo fazem com que a troca de painel seja animada
var that = this;
$pnlMenuAberto.css('max-height', 0);
$pnlMenuAberto.css('padding', '0 30px');
setTimeout(function () {
//Seta current no ul dos menus do usuário com o id do rel clicado
exibeMenuCurrentUsuario($(that).attr("rel"));
//Seta current no li do menu raiz clicada
setaCurrentMenuRaiz($(that));
$pnlMenuAberto.css('max-height', 300);
$pnlMenuAberto.css('padding', '10px 30px');
}, 310);
}
}
}
})
/*
* AÇÃO: Clique na migalha da aplicação
* Cuida do comportamento do clique no menu raiz
*/
$("ul#lstMigalhaAplicacao li").click(function (event) {
$liSbm.show();
//Seta current no ul dos menus do usuário com o id do rel clicado
exibeMenuCurrentUsuario($(this).attr("rel"));
//Seta current no li do menu raiz clicada
//alert(vetorMigalhaApp[0])
setaCurrentMenuRaiz(($("#menuRaiz li#" + $(this).parent().attr("parent"))));
//Abre o painel do menu
abrePanelMenu();
event.stopPropagation();
})
/*
* AÇÃO: Clique no submenu do painel migalha do menu
* Cuida do comportamento no submenu a ser exibido no painel de menu
*/
$("div#pnlMenusUsuario > * > li.sbm").click(function () {
//as três linhas abaixo fazem com que a troca de painel seja animada
var that = this;
$pnlMenusUsuario.css('opacity', 0);
setTimeout(function () {
// Exibe o menu do rel do elemento clicado
exibeMenuCurrentUsuario($(that).attr("rel"));
$pnlMenusUsuario.css('opacity', 100);
}, 100);
})
/*
* AÇÃO: Clique na migalha do menu
* Cuida do comportamento do clique na migalha do menu
*/
$("ul.migalhaMenu").on('click', 'li', function () {
//as três linhas abaixo fazem com que a troca de painel seja animada
var that = this;
$pnlMenusUsuario.css('opacity', 0);
setTimeout(function () {
// Exibe o menu do rel do elemento clicado
exibeMenuCurrentUsuario($(that).attr("rel"));
$pnlMenusUsuario.show();
$pnlAvisoBusca.hide();
$linhasSeparadoras.show();
$pnlMenusUsuario.css('opacity', 100);
}, 100);
})
/*
* Ação: clique fora do menu aberto para fechar o menu
*
*/
$('html').click(function (e) {
fechaPanelMenu();
});
$('#pnlMenuAberto, #pnlMenuRaiz').click(function (event) {
event.stopPropagation();
});
/*
* FUNCAO: montaVetorMigalhaMenu
* Adiciona elemento no vetor já existente
*/
function adicionaNoMenuVetor(elemento) {
var vetorMenu = $("ul#migalhaMenu").children();
vetorMenu.push(elemento);
return vetorMenu;
}
/*
* FUNCAO: exibeMenuCurrentUsuario
* Exibe a